'''
定义一个函数，函数接收一个字典为参数，并返回字典中所有值的和


def func1(dict1):
    i = 0
    for value in dict1.values():
        i += value
    return i


dict1 = {'a':1,'b':2,'c':3}
print(func1(dict1))
'''

'''
定义一个函数，计算所给数字的倒数之和，如果是偶数计算1/2+1/4.。。。1/n，如果是奇数，计算1/1+1/3.。。1/n

def sum1(n):
    if n<=0:
        print("输入错误")
        return None
    res1 = 0
    if n % 2 == 0:
        for i in range(2, n+1,2):
            res1 += 1 / i
    else:
        for i in range(1, n+1,2):
            res1 += 1 / i
    return res1
print(sum1(5))
'''

'''
定义一个函数，接受年月日，计算是该年的第几天

def yearday(year, month, day):
    month1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if year % 4 == 0 and year % 100 !=0 or year % 400 == 0:
        month1[1] = 29
        res1 = sum(month1[:month - 1])+day
    else:
        res1 = sum(month1[:month - 1])+day
    return res1
year = int(input("请输入年份："))
month = int(input("请输入月份："))
day = int(input("请输入日期："))
print(yearday(year,month,day))
'''

'''
定义一个函数，计算斐波那契数列第n项的值

def fibonacci1(n):
    if n < 0:
        raise ValueError("n must be a positive integer")
    if n < 2:
        return n
    else:
        return fibonacci1(n-1) + fibonacci1(n-2)

print(fibonacci1(7))  
'''

'''
定义一个函数，分解所接受的数为质因数

import math

def prime_factors(n: int) -> list[int]:
    """返回 n 的所有质因数（含重复）"""
    factors = []
    d = 2
    while d * d <= n:
        while n % d == 0:
            factors.append(d)
            n //= d
        d += 1
    if n > 1:
        factors.append(n)
    return factors

if __name__ == "__main__":
    try:
        n = int(input("请输入一个大于 1 的整数："))
        if n < 2:
            raise ValueError
    except ValueError:
        print("输入不合法！必须是 ≥2 的整数。")
    else:
        factors = prime_factors(n)
        print(f"{n} 的质因数分解：{' × '.join(map(str, factors))}")
'''